﻿Imports Negocio
Public Class frmAgenciaCliente

    Dim servicio1 As New PedidoNegocio
    Dim servicio2 As New AgenciaNegocio
    Dim servicio3 As New ClienteNegocio

    Dim codCliente As String = ""
    Dim nomCliente As String = ""

    Dim empezar As Boolean = False
    Dim codigoSucursal As String = ""
    Dim nombreSucursal As String = ""
    Dim destino As Integer = 0

    Sub New(cliente As String, nombre As String, destino As Integer)

        ' Llamada necesaria para el diseñador.
        InitializeComponent()

        ' Agregue cualquier inicialización después de la llamada a InitializeComponent().
        Me.codCliente = cliente
        Me.nomCliente = nombre
        Me.destino = destino
    End Sub

    Private Sub frmAgenciaCliente_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        iniciar()
    End Sub

    Sub iniciar()
        txtCliente.Text = codCliente
        txtDescripcionC.Text = nomCliente
        listarDepartamentos()
        listarProvincias()
        listarDistritos()
        empezar = True
    End Sub

    Sub listarDistritos()
        With cboDistrito
            .DataSource = servicio1.listarDistritosXProvincia(cboProvincia.SelectedValue.ToString).Tables(0)
            .ValueMember = "DIS_Codigo"
            .DisplayMember = "DIS_Descripcion"
        End With
    End Sub

    Sub listarProvincias()
        With cboProvincia
            .DataSource = servicio1.listarProvinciaXDepartamento(cboDepartamento.SelectedValue.ToString).Tables(0)
            .ValueMember = "PRO_Codigo"
            .DisplayMember = "PRO_Descripcion"
        End With
    End Sub

    Sub listarDepartamentos()
        With cboDepartamento
            .DataSource = servicio1.listarDepartamentos().Tables(0)
            .ValueMember = "DEP_Codigo"
            .DisplayMember = "DEP_Descripcion"
        End With
    End Sub

    Private Sub cboDepartamento_SelectedValueChanged(sender As Object, e As System.EventArgs) Handles cboDepartamento.SelectedValueChanged
        If empezar = True Then
            listarProvincias()
        End If
    End Sub

    Private Sub cboProvincia_SelectedValueChanged(sender As Object, e As System.EventArgs) Handles cboProvincia.SelectedValueChanged
        If empezar = True Then
            listarDistritos()
        End If
    End Sub

    Private Sub btnBuscar_Click(sender As System.Object, e As System.EventArgs) Handles btnBuscar.Click
        Dim ds As DataSet = servicio1.listarAgencias(txtCodAgencia.Text.Trim, txtDescAgencia.Text.Trim, cboDepartamento.SelectedValue.ToString,
                                                     cboProvincia.SelectedValue.ToString, cboDistrito.SelectedValue.ToString, 1)

        dgvAgencia.DataSource = ds.Tables(0)

        If ds.Tables(0).Rows.Count <> 0 Then
            dgvAgencia.Rows(0).Selected = False
        End If
    End Sub

    Private Sub btnAsignar_Click(sender As System.Object, e As System.EventArgs) Handles btnAsignar.Click
        Dim ds As DataSet = servicio1.obtenerAgenciaSucursalXCliente(codigoSucursal, txtCliente.Text.Trim)
        If ds.Tables(0).Rows.Count = 0 Then
            If MsgBox("¿Esta seguro que desea realizar la asignación?", MsgBoxStyle.Question + MsgBoxStyle.YesNo + MsgBoxStyle.DefaultButton2, "Mensajes al Usuario") = MsgBoxResult.Yes Then
                servicio2.registrarClienteAgenciaSucursal(txtCliente.Text.Trim, codigoSucursal)
                mostraMensaje("Asignación Completada.")
                If destino = 0 Then
                    frmDocumento.txtSucursal.Text = codigoSucursal
                ElseIf destino = 1 Then
                    'aqui cerraria
                End If
                'frmDocumento.lblAgencia.Text = nombreAgencia
                DialogResult = Windows.Forms.DialogResult.OK
            End If
        Else
            If MsgBox("¿Esta seguro que desea realizar la asignación?", MsgBoxStyle.Question + MsgBoxStyle.YesNo + MsgBoxStyle.DefaultButton2, "Mensajes al Usuario") = MsgBoxResult.Yes Then
                If servicio3.actualizaSucursalXCliente(codigoSucursal, txtCliente.Text.Trim, "1") = True Then
                    mostraMensaje("Asignación Completada.")
                    If destino = 0 Then
                        frmDocumento.txtSucursal.Text = codigoSucursal
                    ElseIf destino = 1 Then
                        'aqui cerraria
                    End If
                    DialogResult = Windows.Forms.DialogResult.OK
                Else
                    mostraMensaje("Ocurrió un error. Intentelo de nuevo.")
                End If
            End If
        End If
    End Sub

    Sub mostraMensaje(ByVal men As String)
        MsgBox(men, MsgBoxStyle.Information, "Mensajes al Usuario")
    End Sub

    Private Sub dgvAgencia_CellClick(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvAgencia.CellClick
        Dim f As Integer = e.RowIndex

        If f > -1 Then
            codigoSucursal = dgvAgencia.Item("Column1", f).Value.ToString.Trim
            nombreSucursal = dgvAgencia.Item("Column3", f).Value.ToString.Trim
        End If
    End Sub

    Private Sub btnCancelar_Click(sender As System.Object, e As System.EventArgs) Handles btnCancelar.Click
        DialogResult = Windows.Forms.DialogResult.Cancel
    End Sub

End Class